<template>
  <div class="app">
    <h3>欢迎你</h3>
    <div id="main" style="width: 600px; height: 400px"></div>
  </div>
</template>

<script>
import * as echarts from "echarts";
import { reactive, toRefs, computed, watch, onMounted } from "vue";
export default {
  name: "welcome",
  // components:{},
  setup() {
    const option = reactive({
      title: {
        text: "后台管理系统",
        left: "center",
        top: 20,
        textStyle: {
          color: "black",
        },
      },
      tooltip: {
        trigger: "item",
      },
      visualMap: {
        show: false,
        min: 80,
        max: 600,
        inRange: {
          colorLightness: [0, 1],
        },
      },
      series: [
        {
          name: "Access From",
          type: "pie",
          radius: "55%",
          center: ["50%", "50%"],
          data: [
            { value: 335, name: "Direct" },
            { value: 310, name: "Email" },
            { value: 274, name: "Union Ads" },
            { value: 235, name: "Video Ads" },
            { value: 400, name: "Search Engine" },
          ].sort(function (a, b) {
            return a.value - b.value;
          }),
          roseType: "radius",
          label: {
            color: "black",
          },
          labelLine: {
            lineStyle: {
              color: "rgba(255, 255, 255, 0.3)",
            },
            smooth: 0.2,
            length: 10,
            length2: 20,
          },
          itemStyle: {
            color: "#c23531",
            shadowBlur: 200,
            shadowColor: "rgba(0, 0, 0, 0.5)",
          },
          animationType: "scale",
          animationEasing: "elasticOut",
          animationDelay: function (idx) {
            return Math.random() * 200;
          },
        },
      ],
    });

    onMounted(() => {
      var chartDom = document.getElementById("main");
      var myChart = echarts.init(chartDom);

      option && myChart.setOption(option);
    });

    return {
      ...toRefs(option),
    };
  },
};
</script>

<style scoped lang='scss'>
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
#main {
  position: absolute;
  top: 22%;
  left: 37%;
}
</style>
